/*
 * Copyright (C) 2009 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */
#include <string.h>
#include <jni.h>
#include <dirent.h>

/* This is a trivial JNI example where we use a native method
 * to return a new VM String. See the corresponding Java source
 * file located at:
 *
 *   apps/samples/hello-jni/project/src/calin/podcast/CalinPodcast.java
 */
JNIEXPORT jobjectArray JNICALL
Java_calin_podcast_Podcasts_listFiles( JNIEnv *env, jclass cls,  jstring path )
{
	DIR *dir_p;
	jobjectArray args = NULL;
	struct dirent *direntp;
	int i = 0;
	
	if((dir_p = opendir ("/data/data/calin.podcast")) == NULL){
		return NULL;
	}else{
		while ((direntp = readdir (dir_p)) != NULL){
			i++;
		}
		
		args=(*env)->NewObjectArray(env, i,
      	(*env)->FindClass(env, "java/lang/String"),
      	(*env)->NewStringUTF(env, ""));
		if (args == NULL) {
			return NULL;
		}
		i = 0;
		while ((direntp = readdir (dir_p)) != NULL){
			(*env)->SetObjectArrayElement(env, args, i, (*env)->NewStringUTF(env, direntp->d_name));
			i++;
		}
		closedir (dir_p);
	}
	
	return args;
}